16 research outputs found

    Exploiting Natural On-chip Redundancy for Energy Efficient Memory and Computing

    Get PDF
    Power density is currently the primary design constraint across most computing segments and the main performance limiting factor. For years, industry has kept power density constant, while increasing frequency, lowering transistors supply (Vdd) and threshold (Vth) voltages. However, Vth scaling has stopped because leakage current is exponentially related to it. Transistor count and integration density keep doubling every process generation (Moore’s Law), but the power budget caps the amount of hardware that can be active at the same time, leading to dark silicon. With each new generation, there are more resources available, but we cannot fully exploit their performance potential. In the last years, different research trends have explored how to cope with dark silicon and unlock the energy efficiency of the chips, including Near-Threshold voltage Computing (NTC) and approximate computing. NTC aggressively lowers Vdd to values near Vth. This allows a substantial reduction in power, as dynamic power scales quadratically with supply voltage. The resultant power reduction could be used to activate more chip resources and potentially achieve performance improvements. Unfortunately, Vdd scaling is limited by the tight functionality margins of on-chip SRAM transistors. When scaling Vdd down to values near-threshold, manufacture-induced parameter variations affect the functionality of SRAM cells, which eventually become not reliable. A large amount of emerging applications, on the other hand, features an intrinsic error-resilience property, tolerating a certain amount of noise. In this context, approximate computing takes advantage of this observation and exploits the gap between the level of accuracy required by the application and the level of accuracy given by the computation, providing that reducing the accuracy translates into an energy gain. However, deciding which instructions and data and which techniques are best suited for approximation still poses a major challenge. This dissertation contributes in these two directions. First, it proposes a new approach to mitigate the impact of SRAM failures due to parameter variation for effective operation at ultra-low voltages. We identify two levels of natural on-chip redundancy: cache level and content level. The first arises because of the replication of blocks in multi-level cache hierarchies. We exploit this redundancy with a cache management policy that allocates blocks to entries taking into account the nature of the cache entry and the use pattern of the block. This policy obtains performance improvements between 2% and 34%, with respect to block disabling, a technique with similar complexity, incurring no additional storage overhead. The latter (content level redundancy) arises because of the redundancy of data in real world applications. We exploit this redundancy compressing cache blocks to fit them in partially functional cache entries. At the cost of a slight overhead increase, we can obtain performance within 2% of that obtained when the cache is built with fault-free cells, even if more than 90% of the cache entries have at least a faulty cell. Then, we analyze how the intrinsic noise tolerance of emerging applications can be exploited to design an approximate Instruction Set Architecture (ISA). Exploiting the ISA redundancy, we explore a set of techniques to approximate the execution of instructions across a set of emerging applications, pointing out the potential of reducing the complexity of the ISA, and the trade-offs of the approach. In a proof-of-concept implementation, the ISA is shrunk in two dimensions: Breadth (i.e., simplifying instructions) and Depth (i.e., dropping instructions). This proof-of-concept shows that energy can be reduced on average 20.6% at around 14.9% accuracy loss

    Balancer: bandwidth allocation and cache partitioning for multicore processors

    Get PDF
    The management of shared resources in multicore processors is an open problem due to the continuous evolution of these systems. The trend toward increasing the number of cores and organizing them in clusters sets out new challenges not considered in previous works. In this paper, we characterize the use of the shared cache and memory bandwidth of an AMD Rome processor executing multiprogrammed workloads and propose several mechanisms that control the use of these resources to improve the system performance and fairness. Our control mechanisms require no hardware or operating system modifications. We evaluate Balancer on a real system running SPEC CPU2006 and CPU2017 applications. Balancer tuned for performance shows an average increase of 7.1% in system performance and an unfairness reduction of 18.6% with respect to a system without any control mechanism. Balancer tuned for fairness decreases the performance by 1.3% in exchange for a 64.5% reduction of unfairness

    Porting and optimizing BWA-MEM2 using the Fujitsu A64FX processor

    Get PDF
    Sequence alignment pipelines for human genomes are an emerging workload that will dominate in the precision medicine field. BWA-MEM2 is a tool widely used in the scientific community to perform read mapping studies. In this paper, we port BWA-MEM2 to the AArch64 architecture using the ARMv8-A specification, and we compare the resulting version against an Intel Skylake system both in performance and in energy-to-solution. The porting effort entails numerous code modifications, since BWA-MEM2 implements certain kernels using x86 64 specific intrinsics, e.g., AVX-512. To adapt this code we use the recently introduced Arm’s Scalable Vector Extensions (SVE). More specifically, we use Fujitsu’s A64FX processor, the first to implement SVE. The A64FX powers the Fugaku Supercomputer that led the Top500 ranking from June 2020 to November 2021. After porting BWA-MEM2 we define and implement a number of optimizations to improve performance in the A64FX target architecture. We show that while the A64FX performance is lower than that of the Skylake system, A64FX delivers 11.6% better energy-to-solution on average. All the code used for this article is available at https://gitlab.bsc.es/rlangari/bwa-a64fx

    Memory hierarchy characterization of SPEC CPU2006 and SPEC CPU2017 on the Intel Xeon Skylake-SP

    Get PDF
    SPEC CPU is one of the most common benchmark suites used in computer architecture research. CPU2017 has recently been released to replace CPU2006. In this paper we present a detailed evaluation of the memory hierarchy performance for both the CPU2006 and single-threaded CPU2017 benchmarks. The experiments were executed on an Intel Xeon Skylake-SP, which is the first Intel processor to implement a mostly non-inclusive last-level cache (LLC). We present a classification of the benchmarks according to their memory pressure and analyze the performance impact of different LLC sizes. We also test all the hardware prefetchers showing they improve performance in most of the benchmarks. After comprehensive experimentation, we can highlight the following conclusions: i) almost half of SPEC CPU benchmarks have very low miss ratios in the second and third level caches, even with small LLC sizes and without hardware prefetching, ii) overall, the SPEC CPU2017 benchmarks demand even less memory hierarchy resources than the SPEC CPU2006 ones, iii) hardware prefetching is very effective in reducing LLC misses for most benchmarks, even with the smallest LLC size, and iv) from the memory hierarchy standpoint the methodologies commonly used to select benchmarks or simulation points do not guarantee representative workloads

    Implementación e integración en OpenCASA de módulos para estudios de acumulación y recuento celular

    Get PDF
    El grupo BIOFITER (Biología, Fisiología y Tecnologías de la Reproducción) de la Universidad de Zaragoza ha desarrollado recientemente OpenCASA, un software libre y abierto para el estudio de ciertas características de los espermatozoides. En el presente trabajo se van a ampliar las funcionalidades de esta aplicación mediante el desarrollo de dos nuevos módulos:1 - Módulo de estudio de la acumulación celular: permitirá proporcionar información visual de la acumulación dinámica de células en torno a una sustancia quimioatrayente.2 - Módulo de recuento celular: proporciona el número de espermatozoides / mL de una muestra.<br /

    Boosting Backward Search Throughput for FM-Index Using a Compressed Encoding

    Get PDF
    The rapid development of DNA sequencing technologies has demanded for com- pressed data structures supporting fast pattern matching queries. FM-index is a widely-used compressed data structure that also supports fast pattern matching queries. It is common for the exact matching algorithm to be memory bound, resulting in poor performance. Searching several symbols in a single step improves data locality, although the memory bandwidth requirements remains the same. We propose a new data-layout of FM-index, called Split bit-vector, that compacts all data needed to search k symbols in a single step (k-step), reducing both memory movement and computing requirements at the cost of increasing memory footprint.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech

    Implementación e integración en GROMACS de un algoritmo eficiente y preciso para imponer ligaduras en simulaciones de dinámica molecular

    Get PDF
    Las simulaciones de dinámica molecular describen la evolución en el tiempo de un sistema de partículas. Herramientas computacionales para realizar dichas simulaciones son fundamentales para los investigadores de campos tan diversos como la medicina (búsqueda de tratamientos para enfermedades como el Alzheimer, la fibrosis quística o el cáncer; diseño computacional de medicamentos), la química (diseño de catalizadores) o la ingeniería de materiales. GROMACS es un extendido y versátil paquete de dinámica molecular escrito en el lenguaje de programación C. Originalmente desarrollado en la Universidad de Groningen (Países Bajos), actualmente se mantiene por desarrolladores de universidades y centros de investigación de todo el mundo, y cuenta con miles de usuarios. Para realizar simulaciones eficientes, una opción común es imponer ligaduras, es decir, restricciones a la longitud de los enlaces atómicos o al valor de los distintos ángulos entre átomos. Esto permite incrementar el paso temporal (time step) de las simulaciones y con ello lograr realizar simulaciones más duraderas, con lo que se incrementa el poder predictivo y el realismo de la simulación. Los dos algoritmos más utilizados para la implementación de ligaduras, los denominados SHAKE y LINCS (LINear Constraint Solver), presentan limitaciones a la hora de imponer ligaduras en los ángulos. Además, están basados en aproximaciones, lo cual afecta negativamente a su exactitud, eficiencia y estabilidad numérica. El presente proyecto fin de carrera se basa en la reciente propuesta teórica del Dr. Pablo García Risueño, la cual propone mejorar la imposición de ligaduras en las simulaciones de dinámica molecular mediante el uso de cálculos analíticos. Por lo tanto, el objetivo de este proyecto es implementar el algoritmo denominado ILVES-S, propuesta alternativa al algoritmo SHAKE, e integrarlo en el paquete de dinámica molecular GROMACS

    Porting and optimizing BWA-MEM2 using the Fujitsu A64FX processor

    Get PDF
    Sequence alignment pipelines for human genomes are an emerging workload that will dominate in the precision medicine field. BWA-MEM2 is a tool widely used in the scientific community to perform read mapping studies. In this paper, we port BWA-MEM2 to the AArch64 architecture using the ARMv8-A specification, and we compare the resulting version against an Intel Skylake system both in performance and in energy-to-solution. The porting effort entails numerous code modifications, since BWA-MEM2 implements certain kernels using x86_64 specific intrinsics, e.g., AVX-512. To adapt this code we use the recently introduced Arm's Scalable Vector Extensions (SVE). More specifically, we use Fujitsu's A64FX processor, the first to implement SVE. The A64FX powers the Fugaku Supercomputer that led the Top500 ranking from June 2020 to November 2021. After porting BWA-MEM2 we define and implement a number of optimizations to improve performance in the A64FX target architecture. We show that while the A64FX performance is lower than that of the Skylake system, A64FX delivers 11.6% better energy-to-solution on average. All the code used for this article is available at https://gitlab.bsc.es/rlangari/bwa-a64fxThis work has been partially supported by the Spanish Ministry of Economy and Competitiveness (contracts PID2019-107255GB-C21 / AEI /10.13039/501100011033 and PID2019-105660RB-C21 / AEI / 10.13039/501100011033), Gobierno de Aragon (T5820R research group), the Generalitat de Catalunya (contracts 2017-SGR-1328 and 2017-SGR1414), and the European Union’s Horizon 2020 research and innovation program (Mont-Blanc 2020 project, grant agreement 779877). Finally, A. Armejach and M. Moreto have been partially supported by the Spanish Ministry of Economy, Industry and Competitiveness under Juan de la Cierva fellowship no. IJCI-2017-33945 and Ramon y Cajal fellowship no. RYC-2016-21104, respectively.Peer ReviewedPostprint (author's final draft

    Análisis Automatizado de la Movilidad Espermática en Zánganos

    No full text
    El estudio y análisis de la calidad seminal de una determinada especie se realiza con frecuencia en el ámbito de la zoología. A partir de imágenes por microscopio de una muestra de esperma, se puede detectar y analizar los patrones de movilidad de los distintos espermatozoides.El procedimiento de recuento manual de espermatozoides móviles bajo el microscopio es costoso y propenso a errores, especialmente si hay un gran número de células en el campo de visión para muestras concentradas. Los sistemas CASA, del inglés Computer-Aided Sperm Analysis, surgieron como herramienta para solucionar estos problemas. Sin embargo, la morfología de las células espermatozoides de la abeja melífera impiden un análisis correcto por parte de los sistemas CASA actuales.Además, se ha observado una elevada mortalidad de las colonias de abejas, lo que pone en riesgo la supervivencia de una especie fundamental para mantenimiento de la biodiversidad vegetal y producción agrícola. Se requiere una herramienta capaz de analizar automáticamente la calidad seminal de esta especie, entre otras cosas para realizar estudios toxicológicos, reproductivos y para la creación de bancos de semen que permita preservar variedades en peligro de extinción.En este trabajo se ha diseñado, implementado y evaluado un prototipo de sistema software para el análisis automatizado de la movilidad espermática en zánganos. Dada una secuencia de imágenes de esperma de la abeja melífera obtenida por microscopio, el sistema detecta y clasifica los espermatozoides según su patrón de movilidad. El sistema está formado por cuatro módulos: preprocesamiento, segmentación, extracción de forma de espermatozoides, y clasificación y corrección. El prototipo es robusto frente a variaciones en las condiciones de captura de los vídeos de entrada. Constituye una base sobre la cual crear un sistema CASA para el análisis de la movilidad espermática de la abeja melífera.El trabajo se ha realizado en colaboración con el grupo BIOFITER (Biología, Fisiología y Tecnologías de la Reproducción) de la Universidad de Zaragoza.<br /

    Método paralelo para la resolución de ecuaciones de ligadura para moléculas lineales con ramificaciones laterales idénticas

    No full text
    Mediante la dinámica molecular se puede simular el comportamiento de un sistema de átomos a lo largo del tiempo. Esta herramienta permite realizar experimentos sin necesidad de disponer de las sustancias reales, lo que aumenta la accesibilidad y reduce el coste de los experimentos. Entre otras muchas aplicaciones, la dinámica molecular se usa para el diseño de nuevos fármacos o el análisis de materiales. A la hora de realizar experimentos, se acostumbra a restringir algunos de los grados de libertad internos del sistema a estudiar para aumentar el paso temporal de la simulación. Una de las restricciones más comúnmente aplicadas es la imposición de ligaduras (restricción en la longitud del enlace de una pareja de átomos). Los métodos más usados para imponer ligaduras convergen muy lentamente y están basados en aproximaciones que afectan a su estabilidad numérica. Esta forma de implementar imposiciones de ligadura puede ser reemplazada por cálculos analíticos, lo que aumenta la eficiencia y la precisión de los experimentos.En este proyecto se presenta una implementación paralela de ILVES, un nuevo algoritmo para imponer ligaduras que converge cuadráticamente. Se ha abordado la resolución de ecuaciones de ligadura para moléculas compuestas por cadenas de átomos lineales con ramificaciones lineales idénticas, y se ha conseguido extender la implementación para moléculas compuestas por cadenas de átomos reales con ramificaciones reales idénticas. La versión paralela de ILVES implementada es capaz de explotar el paralelismo vectorial (unidades funcionales capaces de operar con múltiples datos) y el paralelismo multinúcleo (procesadores que integran varios núcleos de ejecución, cores) existentes en los procesadores comerciales actuales, por lo que mejora el rendimiento de otros métodos de imposición de ligaduras. Además, resuelve eficientemente las ecuaciones de ligadura hasta el límite de precisión máquina.<br /
    corecore